PL/SQL এ Associative Arrays (যাকে আগে Index-By Tables বলা হত) একটি বিশেষ ধরনের Collection Type যা মূলত ডেটাবেসের মধ্যে ডেটাকে key-value pair আকারে সংরক্ষণ করার জন্য ব্যবহৃত হয়। এই ধরনের অ্যারের মধ্যে ডেটা সংরক্ষণ করার সময় আপনি একটি কাস্টম ইনডেক্স ব্যবহার করতে পারেন, যেমন একটি সংখ্যামূলক বা স্ট্রিং টাইপ ইনডেক্স।
DECLARE
-- Associative Array Declaration
TYPE employee_array IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER;
employees employee_array; -- Declare the array
BEGIN
-- Inserting values into the associative array
employees(1) := 'John Doe';
employees(2) := 'Jane Smith';
employees(3) := 'Robert Brown';
-- Retrieving values from the associative array
DBMS_OUTPUT.PUT_LINE('Employee 1: ' || employees(1));
DBMS_OUTPUT.PUT_LINE('Employee 2: ' || employees(2));
DBMS_OUTPUT.PUT_LINE('Employee 3: ' || employees(3));
END;
BINARY_INTEGER
হল সেই টাইপ, যা একটি ইনডেক্স হিসেবে কাজ করবে।DECLARE
-- Declare an associative array with varchar index
TYPE employee_data IS TABLE OF VARCHAR2(100) INDEX BY VARCHAR2(20);
employees employee_data;
BEGIN
-- Assigning values to the array with string index
employees('E101') := 'John Doe';
employees('E102') := 'Jane Smith';
employees('E103') := 'Robert Brown';
-- Retrieving values from the associative array
DBMS_OUTPUT.PUT_LINE('Employee E101: ' || employees('E101'));
DBMS_OUTPUT.PUT_LINE('Employee E102: ' || employees('E102'));
DBMS_OUTPUT.PUT_LINE('Employee E103: ' || employees('E103'));
END;
এখানে, অ্যাসোসিয়েটিভ অ্যারেটি VARCHAR2 টাইপের ইনডেক্স ব্যবহার করছে, অর্থাৎ E101
, E102
ইত্যাদি স্ট্রিং ভ্যালু হিসেবে ইনডেক্স করা হচ্ছে।
EXTEND Method:
employees.EXTEND(2); -- This adds 2 more elements to the array
DELETE Method:
employees.DELETE(1); -- Deletes the element at index 1
employees.DELETE; -- Deletes all elements in the array
COUNT Method:
DBMS_OUTPUT.PUT_LINE('Number of employees: ' || employees.COUNT);
Exists Method:
IF employees.EXISTS(2) THEN
DBMS_OUTPUT.PUT_LINE('Employee E102 exists');
ELSE
DBMS_OUTPUT.PUT_LINE('Employee E102 does not exist');
END IF;
Read more